#ifndef __TERRAIN_HPP__
#define __TERRAIN_HPP__ 1

#include <vector>

#include <GL/glew.h>

struct TerrainVertex
{
	float x, y, z;
	float colour[4];
	float tx, ty;
	//uint32_t padding[4];
};

class CTerrain
{
public:
	CTerrain(int length, int width, int heightMin, int heightMax);
	~CTerrain();

	void Generate();
	std::vector<TerrainVertex>& GetTerrain();
	std::vector<GLuint>& GetIndices();

private:
	int length;
	int width;
	int heightMin;
	int heightMax;

	std::vector<TerrainVertex> terrain;
	std::vector<GLuint> indices;
};

#endif